package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * java.util.List
 * List表示的是可重复且有序的集合。也称为"线性表"
 * List常用的实现类:
 * java.util.ArrayList:内部使用数组实现，查询性能更好。
 * java.util.LinkedList:内部使用链表实现，增删性能更好，首尾增删元素最佳。
 * 在对性能没有特别苛刻的要求时，首选使用ArrayList
 */
public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        list.add("乔纳森");
        list.add("乔瑟夫");
        list.add("承太郎");
        list.add("仗助");
        list.add("乔鲁诺");
        list.add("乔林");
        System.out.println(list);
        System.out.println(list.get(5));
        String str=list.get(3);
        System.out.println(str);
/*
            E get(int index)
            获取指定位置上的元素
         */
        for(String s:list){
            System.out.println(s);
        }
/*
            E set(int index,E e)
            将给定元素e设置到指定位置index处
            返回值就是被替换下来的元素
         */
        list.set(4,"dio");
        System.out.println(list.get(4));
        System.out.println("**********************************");

        Collections.reverse(list);
        /*for(int i=0;i<list.size()/2;i++){
            String s=list.get(i);
            s=list.set(list.size()-i-1,s);
            list.set(i,s);
        }*/
        System.out.println(list);
    }
}
